import axios from 'axios'
import qs from 'qs'

export default {
  /**
   * post请求
   * @param url
   * @param params
   * @returns {Promise}
   */
  post: function ({url, data}) {
    return new Promise((resolve) => {
      //Indicator.open("加载中...");
      axios.defaults.headers.common['source'] = 'shop';
      axios.defaults.timeout = 6000;
      axios.post(url, qs.stringify(data), {}).then(
        res => {
          if (res.status === 200) {
            resolve(res.data);
            //Indicator.close();
          } else {
            //MessageBox('温馨提示', '后端接口开小差!');
            //Indicator.close();
          }
        }
      ).catch(function (error) {
        if (error.response) {
          //MessageBox("温馨提示", error.response.data.data);
          //Indicator.close();
        } else if (error.request) {
          //MessageBox("温馨提示", '后端接口响应超时,请稍后再试');
          //Indicator.close();
        } else {
          //MessageBox("温馨提示", '服务器开小差');
          //Indicator.close();
        }
        //Indicator.close();
      });
      //Indicator.close();
    })
  },
  /**
   * get请求
   * @param url
   * @param params
   * @returns {Promise}
   * */
  get({url, data}) {
    return new Promise((resolve) => {
      //Indicator.open("加载中...");
      axios.defaults.headers.common['source'] = 'shop';
      axios.defaults.timeout = 6000;
      axios.get(url, {params: data}).then(
        res => {
          if (res.status === 200) {
            resolve(res.data);
            //Indicator.close();
          } else {
            //MessageBox('温馨提示', '后端接口开小差!');
            //Indicator.close();
          }
        }
      ).catch(function (error) {
        if (error.response) {
          //MessageBox("温馨提示", error.response.data.data);
          //Indicator.close();
        } else if (error.request) {
          //MessageBox("温馨提示", '后端接口响应超时,请稍后再试');
          //Indicator.close();
        } else {
          //Indicator.close();
        }
      });
      //Indicator.close();
    })
  },
  /**
   * delete请求
   * @param url
   * @param params
   * @returns {Promise}
   * */
  delete({url, data}) {
    return new Promise((resolve) => {
      //Indicator.open("加载中...");
      axios.defaults.headers.common['source'] = 'shop';
      axios.defaults.timeout = 6000;
      axios.delete(url, {params: data}).then(
        res => {
          if (res.status === 200) {
            resolve(res.data);
            //Indicator.close();
          } else {
            //MessageBox('温馨提示', '后端接口开小差!');
            //Indicator.close();
          }
        }
      ).catch(function (error) {
        if (error.response) {
          //MessageBox("温馨提示", error.response.data.data);
          //Indicator.close();
        } else if (error.request) {
          //MessageBox("温馨提示", '后端接口响应超时,请稍后再试');
          //Indicator.close();
        } else {
          //Indicator.close();
        }
      });
      //Indicator.close();
    })
  }
}
